home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / cliensvr / mainv2~1.frm < prev    next >
Text File  |  1999-10-10  |  7KB  |  219 lines

  1. VERSION 5.00
  2. Begin VB.Form form1 
  3.    BorderStyle     =   1  'Fixed Single
  4.    Caption         =   "RemoteRun"
  5.    ClientHeight    =   2640
  6.    ClientLeft      =   2490
  7.    ClientTop       =   3645
  8.    ClientWidth     =   6690
  9.    Icon            =   "main v2.frx":0000
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    PaletteMode     =   1  'UseZOrder
  13.    ScaleHeight     =   2640
  14.    ScaleWidth      =   6690
  15.    Begin VB.CommandButton Command1 
  16.       Caption         =   "Send"
  17.       Height          =   375
  18.       Left            =   120
  19.       TabIndex        =   8
  20.       Top             =   1440
  21.       Width           =   1935
  22.    End
  23.    Begin VB.TextBox Stat 
  24.       Appearance      =   0  'Flat
  25.       BackColor       =   &H8000000F&
  26.       BorderStyle     =   0  'None
  27.       ForeColor       =   &H80000012&
  28.       Height          =   285
  29.       Left            =   120
  30.       TabIndex        =   7
  31.       TabStop         =   0   'False
  32.       Top             =   1920
  33.       Width           =   6495
  34.    End
  35.    Begin VB.TextBox ReqWindow 
  36.       Height          =   285
  37.       Left            =   3600
  38.       TabIndex        =   5
  39.       TabStop         =   0   'False
  40.       Top             =   120
  41.       Visible         =   0   'False
  42.       Width           =   255
  43.    End
  44.    Begin VB.TextBox ReceiveWindow 
  45.       Height          =   285
  46.       Left            =   3960
  47.       TabIndex        =   6
  48.       TabStop         =   0   'False
  49.       Top             =   120
  50.       Visible         =   0   'False
  51.       Width           =   255
  52.    End
  53.    Begin VB.TextBox Host 
  54.       Height          =   285
  55.       Left            =   4560
  56.       TabIndex        =   3
  57.       Text            =   "localhost"
  58.       Top             =   120
  59.       Width           =   2055
  60.    End
  61.    Begin VB.CommandButton Request 
  62.       Caption         =   "Connect"
  63.       Height          =   375
  64.       Left            =   4680
  65.       TabIndex        =   2
  66.       Top             =   960
  67.       Width           =   1935
  68.    End
  69.    Begin VB.CommandButton ListenButton 
  70.       Caption         =   "Listen"
  71.       Height          =   375
  72.       Left            =   120
  73.       TabIndex        =   1
  74.       Top             =   960
  75.       Width           =   1935
  76.    End
  77.    Begin VB.TextBox Program 
  78.       Height          =   285
  79.       Left            =   120
  80.       TabIndex        =   0
  81.       Top             =   480
  82.       Width           =   6495
  83.    End
  84.    Begin VB.Label Label1 
  85.       Height          =   255
  86.       Left            =   120
  87.       TabIndex        =   9
  88.       Top             =   2280
  89.       Width           =   5295
  90.    End
  91.    Begin VB.Label ProgLabel 
  92.       Caption         =   "Data to Send:"
  93.       Height          =   255
  94.       Left            =   120
  95.       TabIndex        =   4
  96.       Top             =   120
  97.       Width           =   1215
  98.    End
  99. End
  100. Attribute VB_Name = "form1"
  101. Attribute VB_GlobalNameSpace = False
  102. Attribute VB_Creatable = False
  103. Attribute VB_PredeclaredId = True
  104. Attribute VB_Exposed = False
  105. Dim StartupData As WSADataType
  106. Dim SocketNum As Long
  107. Dim ReadSock As Long
  108. Dim SocketBuffer As sockaddr
  109. Dim ReadSockBuffer As sockaddr
  110. Dim ReadBuffer As String * 2048
  111.  
  112. Public Connections As New Collection
  113.  
  114.  
  115. Private Sub Command1_Click()
  116. RC = SendData(SocketNum, Program)
  117. End Sub
  118.  
  119.  
  120.  
  121. Private Sub Form_Activate()
  122.     Dim CmdLine As String
  123.     CmdLine = Command
  124.     If LCase(CmdLine) = "/listen" Then
  125.         RemoteRun.WindowState = 1
  126.         Call ListenButton_Click
  127.     End If
  128. End Sub
  129. Private Sub Form_Load()
  130.     
  131.     RC = WSACleanup()
  132.  
  133.     RC = WSAStartup(&H101, StartupData)
  134.     If RC = SOCKET_ERROR Then Exit Sub
  135. End Sub
  136. Private Sub Form_Unload(Cancel As Integer)
  137.     RC = WSACleanup()
  138. End Sub
  139.  
  140.  
  141. Private Sub ListenButton_Click()
  142.         
  143.     Dim numListen As Integer
  144.     Dim MyName As String
  145.     Dim lenName As Integer
  146.     Program = ""
  147.     SocketNum = socket(AF_INET, SOCK_STREAM, 0)
  148.     If SocketNum < 1 Then
  149.         Exit Sub
  150.     End If
  151.     SocketBuffer.sin_family = AF_INET
  152.     SocketBuffer.sin_port = htons(12310)
  153.     SocketBuffer.sin_addr = 0
  154.     SocketBuffer.sin_zero = String$(8, 0)
  155.     X = bind(SocketNum, SocketBuffer, sockaddr_size)
  156.     If X <> 0 Then
  157.         X = WSACleanup()
  158.         MsgBox "Failed to bind"
  159.         Exit Sub
  160.     End If
  161.     numListen = 2
  162.     X = listen(ByVal SocketNum, ByVal numListen)
  163.     X = WSAAsyncSelect(SocketNum, ReceiveWindow.hWnd, ByVal &H202, ByVal FD_CONNECT Or FD_ACCEPT)
  164.     MyName = GetLocalHostName + " (" + AddrToIP(GetLocalHostName) + ")"
  165.     Stat = "Waiting for a connection to " + MyName
  166.     form1.Caption = "RR" + MyName
  167.     Label1.Caption = "Socket Number: " & SocketNum & "   PortNumber: 12310"
  168.     
  169. End Sub
  170. Private Sub ReceiveWindow_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  171.     Program = ""
  172.     ReadSock = accept(SocketNum, ReadSockBuffer, Len(ReadSockBuffer))
  173.         Connections.Add ReadSock
  174. '    X = listen(ByVal SocketNum, ByVal numListen)
  175.     X = WSAAsyncSelect(ReadSock, ReqWindow.hWnd, ByVal &H202, ByVal FD_READ Or FD_CLOSE)
  176.     Stat = "Connect accepted"
  177. End Sub
  178. Private Sub Request_Click()
  179.     Dim IPAddr As Long
  180.     IPAddr = GetHostByNameAlias(Host)
  181.     If IPAddr = -1 Then
  182.         Stat = "Cannot locate host " + Host
  183.         MsgBox Stat
  184.         Exit Sub
  185.     End If
  186.     SocketNum = socket(AF_INET, SOCK_STREAM, 0)
  187.     If SocketNum = SOCKET_ERROR Then
  188.         Stat = "Cannot Create Socket."
  189.         Exit Sub
  190.     End If
  191.     SocketBuffer.sin_family = AF_INET
  192.     SocketBuffer.sin_port = htons(12310)
  193.     SocketBuffer.sin_addr = IPAddr
  194.     SocketBuffer.sin_zero = String$(8, 0)
  195.     RC = connect(SocketNum, SocketBuffer, Len(SocketBuffer))
  196.     If RC = SOCKET_ERROR Then
  197.         closesocket SocketNum
  198.         Stat = "Connect rejected"
  199.         Exit Sub
  200.     End If
  201.     'RC = SendData(SocketNum, "Hello" + vbCrLf)
  202.     'closesocket SocketNum
  203.     'Stat = "Connection is closed"
  204. End Sub
  205. Private Sub ReqWindow_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  206.     Bytes = recv(ReadSock, ReadBuffer, 2048, 0)
  207.     If Bytes <> 0 Then
  208.         Program = Program + Left$(ReadBuffer, Bytes)
  209.         Stat = "Data Read"
  210.     ElseIf WSAGetLastError() <> WSAEWOULDBLOCK Then
  211.         X = WSAAsyncSelect(SocketNum, ReceiveWindow.hWnd, ByVal &H202, ByVal FD_CONNECT Or FD_ACCEPT)
  212.         Stat = "Socket Closed"
  213.         If InStr(Program, Chr$(13)) <> 0 Then
  214.             Program = Left$(Program, InStr(Program, Chr$(13)) - 1)
  215.         End If
  216.         'closesocket (ReadSock)
  217.     End If
  218. End Sub
  219.